package com.wicket.okrapp.web.contorller;

import com.wicket.okrapp.biz.service.WeightTargetService;
import com.wicket.okrapp.biz.service.dto.req.*;
import com.wicket.okrapp.biz.service.dto.res.*;
import com.wicket.okrapp.common.ro.OkrResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@RestController
@RequestMapping("/app/weightTarget/")
public class WeightTargetController {

  @Autowired
  WeightTargetService weightTargetService;
/**
   * D3批量增树叶子权重设置(公共)
   */
    @PostMapping("batchAddTreeLeafWeightSetCom")
    public OkrResult<BatchAddTreeLeafWeightSetComRespDto> batchAddTreeLeafWeightSetCom(@RequestBody @Validated BatchAddTreeLeafWeightSetComReqDto reqDTO){
    return OkrResult.success(weightTargetService.batchAddTreeLeafWeightSetCom(reqDTO));
    }
/**
   * D3增树单叶子权重设置(公共)
   */
    @PostMapping("addTreeSingleLeafWeightSetCom")
    public OkrResult<AddTreeSingleLeafWeightSetComRespDto> addTreeSingleLeafWeightSetCom(@RequestBody @Validated AddTreeSingleLeafWeightSetComReqDto reqDTO){
    return OkrResult.success(weightTargetService.addTreeSingleLeafWeightSetCom(reqDTO));
    }
/**
   * D3回写部门目标任务书目标根节点权重分(公共)
   */
    @PostMapping("implementWriteBackDeptObjTreeRootWeightScoreCom")
    public OkrResult<ImplementWriteBackDeptObjTreeRootWeightScoreComRespDto> implementWriteBackDeptObjTreeRootWeightScoreCom(@RequestBody @Validated ImplementWriteBackDeptObjTreeRootWeightScoreComReqDto reqDTO){
    return OkrResult.success(weightTargetService.implementWriteBackDeptObjTreeRootWeightScoreCom(reqDTO));
    }
/**
   * D3执行目标内容自动更新权重分(公共)
   */
    @PostMapping("implementTargetContAutoUpdateWeightScoreCom")
    public OkrResult<ImplementTargetContAutoUpdateWeightScoreComRespDto> implementTargetContAutoUpdateWeightScoreCom(@RequestBody @Validated ImplementTargetContAutoUpdateWeightScoreComReqDto reqDTO){
    return OkrResult.success(weightTargetService.implementTargetContAutoUpdateWeightScoreCom(reqDTO));
    }
/**
   * D3执行高中基层权重设置
   */
    @PostMapping("implementTopMidBasicWeightSet")
    public OkrResult<ImplementTopMidBasicWeightSetRespDto> implementTopMidBasicWeightSet(@RequestBody @Validated ImplementTopMidBasicWeightSetReqDto reqDTO){
    return OkrResult.success(weightTargetService.implementTopMidBasicWeightSet(reqDTO));
    }
/**
   * D3执行部门目标任务书叶子权重设置(公共)
   */
    @PostMapping("implementDeptObjTaskLeafWeightSetCom")
    public OkrResult<ImplementDeptObjTaskLeafWeightSetComRespDto> implementDeptObjTaskLeafWeightSetCom(@RequestBody @Validated ImplementDeptObjTaskLeafWeightSetComReqDto reqDTO){
    return OkrResult.success(weightTargetService.implementDeptObjTaskLeafWeightSetCom(reqDTO));
    }
/**
   * D3执行部门指标自动更新权重分(公共)
   */
    @PostMapping("implementDeptObjAutoUpdateWeightScoreCom")
    public OkrResult<ImplementDeptObjAutoUpdateWeightScoreComRespDto> implementDeptObjAutoUpdateWeightScoreCom(@RequestBody @Validated ImplementDeptObjAutoUpdateWeightScoreComReqDto reqDTO){
    return OkrResult.success(weightTargetService.implementDeptObjAutoUpdateWeightScoreCom(reqDTO));
    }
/**
   * D3执行高层下发自动更新权重分(公共)
   */
    @PostMapping("implementTopIssueAutoUpdateWeightScoreCom")
    public OkrResult<ImplementTopIssueAutoUpdateWeightScoreComRespDto> implementTopIssueAutoUpdateWeightScoreCom(@RequestBody @Validated ImplementTopIssueAutoUpdateWeightScoreComReqDto reqDTO){
    return OkrResult.success(weightTargetService.implementTopIssueAutoUpdateWeightScoreCom(reqDTO));
    }
/**
   * D3执行自动计算平均权重(公共)
   */
    @PostMapping("implementAutoCountAverageWeightCom")
    public OkrResult<ImplementAutoCountAverageWeightComRespDto> implementAutoCountAverageWeightCom(@RequestBody @Validated ImplementAutoCountAverageWeightComReqDto reqDTO){
    return OkrResult.success(weightTargetService.implementAutoCountAverageWeightCom(reqDTO));
    }
/**
   * D3执行自动计算评价对象树平均权重(公共)
   */
    @PostMapping("implementAutoCountEvaObjectAverageWeightCom")
    public OkrResult<ImplementAutoCountEvaObjectAverageWeightComRespDto> implementAutoCountEvaObjectAverageWeightCom(@RequestBody @Validated ImplementAutoCountEvaObjectAverageWeightComReqDto reqDTO){
    return OkrResult.success(weightTargetService.implementAutoCountEvaObjectAverageWeightCom(reqDTO));
    }
/**
   * D3执行自定动计算部门任务书树平均权重(公共)
   */
    @PostMapping("implementAutoCountDeptTaskAverageWeightCom")
    public OkrResult<ImplementAutoCountDeptTaskAverageWeightComRespDto> implementAutoCountDeptTaskAverageWeightCom(@RequestBody @Validated ImplementAutoCountDeptTaskAverageWeightComReqDto reqDTO){
    return OkrResult.success(weightTargetService.implementAutoCountDeptTaskAverageWeightCom(reqDTO));
    }
/**
   * D3执行批次发布自动计算平均权重(公共)
   */
    @PostMapping("implementBatchPublishAutoCountAverageWeightCom")
    public OkrResult<ImplementBatchPublishAutoCountAverageWeightComRespDto> implementBatchPublishAutoCountAverageWeightCom(@RequestBody @Validated ImplementBatchPublishAutoCountAverageWeightComReqDto reqDTO){
    return OkrResult.success(weightTargetService.implementBatchPublishAutoCountAverageWeightCom(reqDTO));
    }
/**
   * D3执行分析下级权重(公共)
   */
    @PostMapping("implementAnalyseSubWeightCom")
    public OkrResult<ImplementAnalyseSubWeightComRespDto> implementAnalyseSubWeightCom(@RequestBody @Validated ImplementAnalyseSubWeightComReqDto reqDTO){
    return OkrResult.success(weightTargetService.implementAnalyseSubWeightCom(reqDTO));
    }
/**
   * D3执行自动计算下级权重分(公共)
   */
    @PostMapping("implementAutoCountSubWeightScoreCom")
    public OkrResult<ImplementAutoCountSubWeightScoreComRespDto> implementAutoCountSubWeightScoreCom(@RequestBody @Validated ImplementAutoCountSubWeightScoreComReqDto reqDTO){
    return OkrResult.success(weightTargetService.implementAutoCountSubWeightScoreCom(reqDTO));
    }
/**
   * D3查询上级目标全周期权重列表(公共)
   */
    @PostMapping("querySuperiorTargetFullCycleListCom")
    public OkrResult<QuerySuperiorTargetFullCycleListComRespDto> querySuperiorTargetFullCycleListCom(@RequestBody @Validated QuerySuperiorTargetFullCycleListComReqDto reqDTO){
    return OkrResult.success(weightTargetService.querySuperiorTargetFullCycleListCom(reqDTO));
    }
/**
   * D3批量查询目标周期权重(公共)
   */
    @PostMapping("batchQueryTargetCycleWeightCom")
    public OkrResult<BatchQueryTargetCycleWeightComRespDto> batchQueryTargetCycleWeightCom(@RequestBody @Validated BatchQueryTargetCycleWeightComReqDto reqDTO){
    return OkrResult.success(weightTargetService.batchQueryTargetCycleWeightCom(reqDTO));
    }
/**
   * D3分析是否只查看目标父周期(公共)
   */
    @PostMapping("analysisIsOnlyQueryTargetParentCycleCom")
    public OkrResult<AnalysisIsOnlyQueryTargetParentCycleComRespDto> analysisIsOnlyQueryTargetParentCycleCom(@RequestBody @Validated AnalysisIsOnlyQueryTargetParentCycleComReqDto reqDTO){
    return OkrResult.success(weightTargetService.analysisIsOnlyQueryTargetParentCycleCom(reqDTO));
    }
/**
   * D3查询上级父周期权重列表(公共)
   */
    @PostMapping("querySuperiorParentCycleWeightListCom")
    public OkrResult<QuerySuperiorParentCycleWeightListComRespDto> querySuperiorParentCycleWeightListCom(@RequestBody @Validated QuerySuperiorParentCycleWeightListComReqDto reqDTO){
    return OkrResult.success(weightTargetService.querySuperiorParentCycleWeightListCom(reqDTO));
    }
/**
   * D3查询上级目标周期权重列表
   */
    @PostMapping("querySuperiorTargetCycleWeightList")
    public OkrResult<QuerySuperiorTargetCycleWeightListRespDto> querySuperiorTargetCycleWeightList(@RequestBody @Validated QuerySuperiorTargetCycleWeightListReqDto reqDTO){
    return OkrResult.success(weightTargetService.querySuperiorTargetCycleWeightList(reqDTO));
    }
/**
   * D3分析被评对象内容表主键ID(公共)
   */
    @PostMapping("analysisEvaObjEntityIdCom")
    public OkrResult<AnalysisEvaObjEntityIdComRespDto> analysisEvaObjEntityIdCom(@RequestBody @Validated AnalysisEvaObjEntityIdComReqDto reqDTO){
    return OkrResult.success(weightTargetService.analysisEvaObjEntityIdCom(reqDTO));
    }
/**
   * D3查询下级目标周期权重列表(公共)
   */
    @PostMapping("querySubordinateTargetCycleWeightListCom")
    public OkrResult<QuerySubordinateTargetCycleWeightListComRespDto> querySubordinateTargetCycleWeightListCom(@RequestBody @Validated QuerySubordinateTargetCycleWeightListComReqDto reqDTO){
    return OkrResult.success(weightTargetService.querySubordinateTargetCycleWeightListCom(reqDTO));
    }
/**
   * D3查询下级目标周期权重列表
   */
    @PostMapping("querySubordinateTargetCycleWeightList")
    public OkrResult<QuerySubordinateTargetCycleWeightListRespDto> querySubordinateTargetCycleWeightList(@RequestBody @Validated QuerySubordinateTargetCycleWeightListReqDto reqDTO){
    return OkrResult.success(weightTargetService.querySubordinateTargetCycleWeightList(reqDTO));
    }
/**
   * D3分析是否克隆子或中期权重(公共)
   */
    @PostMapping("analysisIsCloneSubOrMidWeightCom")
    public OkrResult<AnalysisIsCloneSubOrMidWeightComRespDto> analysisIsCloneSubOrMidWeightCom(@RequestBody @Validated AnalysisIsCloneSubOrMidWeightComReqDto reqDTO){
    return OkrResult.success(weightTargetService.analysisIsCloneSubOrMidWeightCom(reqDTO));
    }
}
